#pragma once

#include "ofMain.h"
#include "ofxGui.h"
#include "Objet.h"
#include "Scene.h"

class TP1;

#define MODE_CAMERA 0
#define MODE_EDIT 1

class SceneGui : public ofxPanel {
private:
	ofxLabel labelMode;
	ofxButton btnMode;
	
	// Camera mode
	ofxButton btnExporter;

	// Edition mode
	bool isModif;
	ofxGuiGroup groupCube, groupSphere, groupModifier;
	ofxSlider<float> sldSizeCube, sldSizeSphere, sldPrecisionSphere, sldMovementPrecision;
	ofxColorSlider sldModifColor;
	ofxVec3Slider sldModifPosition, sldModifRotation, sldModifSize;
	ofxButton btnAddCube, btnAddSphere, btnConfirmer, btnOpen;

	TP1 * tp1ref;
	//ofxSlider position, rotation;

	void fillCamera();
	void fillEdition();

	short mode;
public:
	void init(TP1*);
	void setMode(short mode);
	short getMode();
	bool isCamera();
	bool isEdit();
	void Exit();

	// Get
	float getMovementPrecision();

	// Events
	void togglePressed();
	void exporterPressed();
	void addCube();
	void addSphere();
	void updateCurrent();

	void confirmChange();

};